package com.glela.mq.service;

import org.springframework.amqp.core.Message;
import com.zls.wx.message.CommissionArrivalMsg;
import com.zls.wx.message.MarketingSuccessMsg;

public interface OrderQueueService {
	/***
	 * 将零元付订单加入到队列中等待生成分佣结算信息
	 * @param orderSn :订单消息体
	 * @throws Exception
	 */
	public void createCommision(Message orderSn) throws Exception;
	/***
	 * 将订单加入队列,等待处理
	 * @param orderContext :订单明细JSON字符串
	 * @throws Exception
	 */
	public void createOrder(String orderContext) throws Exception;

	/***
	 * 将订单加入队列,等待处理
	 * @param orderContext：订单明细行对象
	 * @throws Exception
	 */
	public void createOrder(Object orderContext) throws Exception;

	/***
	 * 
	 * @param commisionInfo
	 * @throws Exception
	 */
	public void addMQPayCallBack(Message commisionInfo) throws Exception;

	/**
	 * 序列处理商品详情页的缓存
	 */
	public void updateGoodsInfoRedisCache(Object params) throws Exception;

	/**
	 * <dl>
	 * <dt>发送微信模版消息-店主推荐销售成功</dt>
	 * </dl>
	 * @param msg void
	 * @author zls
	 * @date 2018年1月30日 下午1:27:34
	 */
	void sendWxTemplateMsgMarketingSuccess(MarketingSuccessMsg msg);

	/**
	 * <dl>
	 * <dt>发送微信模版消息-佣金到账</dt>
	 * </dl>
	 * @param commissionArrivalMsg void
	 * @author zls
	 * @date 2018年2月5日 上午11:45:43
	 */
	void sendWxTemplateMsgCommissionArrival(CommissionArrivalMsg commissionArrivalMsg);

	void openStoreDone(Object o) throws Exception;

    /**
     * 聊天室消息同步
     * @param o
     * @throws Exception
     *//*
	void messageSync(Object o) throws Exception;*/

    /**
     * 异步计算收益明细
     * @param o
     * @throws Exception
     */
    void calculationEarnings(String orderSn) throws Exception;
}
